perm filename PART[1,JMC] blob
sn#005210 filedate 1969-08-26 generic text, type T, neo UTF8
00100 Partial Function Logic and Its Applications
00200
00300 by Zohar Manna and John McCarthy
00400
00500
00600 ABSTRACT: Several variants (most old) of the first
00700 order logic of partial functions and
00800 predicates are described. Some meta-theorems
00900 are proved. Applications are given to proving
01000 the termination and equivalence of computation
01150 processes and to formulating a theory of truth
01200 and set theory without the usual restrictions.
01300
01350 1. Introduction
01400 A partial function on a domain has a value only
01500 for some of its arguments; for other arguments it may have no
01600 value. If the partial function f has a value at argument
01700 a we say that f(a) is defined and write *f(a). Functions
01800 of several arguments are treated similarly and so are
01900 predicates - i.e., functions taking the values true and false.
02000 We include as limiting cases of partial functions, total
02100 functions defined for all arguments as well as the partial
02348 function undefined for all arguments.
02350
02400 Partial functions arise naturally in connection
02500 with computation because a computing process may give a
02600 result for some arguments and for others run on indefinitely.
02700 Any attempt to get rid of the theory of partial functions
02800 and keep all the total computable functions fails because
02900 it is undecidable whether a function is total or even whether
03000 it is defined for particular arguments.
03100
03200 This circumstance suggests studying a first order
03300 logic of partial functions and predicates analogous to
03500 the usual first order logic of total functions and predicates.
03600 Partial functions defined by computing processes can be
03700 substituted for the function letters of this calculus in
03800 valid formulas and derivations without having either to
03900 first prove them total or extend them to total functions
04000 by some convention. This has turned out to be useful in
04100 proving the equivalence of different computation processes
04200 and in proving that they do or do not terminate for a given
04300 class of arguments.
04350
04400 To our knowledge there are three papers (Wang 1961),
04500 (McCarthy 1963), and (Hayes 1969) defining partial predicate
04600 calculi and two papers, (Manna and Pnueli 1968a) and (Manna
04700 and Pnueli 1968b) applying the calculus to proving termination
04800 (also called convergence) of computable functions. We shall
04900 explain these calculi presently and unfortunately will have
05000 to define at least two more variants in this paper for a
05100 new field of application.
05200
05300 The new applications result from the fact that not
05400 all sentences of a partial function logic have truth values.
05600 Some do, some don't, some provably do, some provably don't,
05700 and whether a sentence has a truth value is in general
05800 undecidable. This allows us to make consistent formal
05900 systems containing self-referential sentences like those of
06000 natural language. In particular, the truth of sentences can
06100 be axiomatized in partial function logic in such a way that
06200 sentences resembling "This sentence is false" are in the
06300 language but don't lead to contradiction because they
06400 have no truth values.
06500
06600 In fact, we contend that natural languages should
06800 be regarded as partial function languages in which not all
06900 sentences have truth values. This casts doubt on prevalent
07000 doctrine that natural language is inherently contradictory
07100 or at least inherently far from any formal language. In
07200 particular we doubt the opinion of Tarski (1931) that an
07300 adequate treatment of truth requires a hierarchy of languages.
07500
07600 Another possible application of partial function logic
07700 is to set theory although this is not yet worked out. It
07800 seems that a partial function logic formulation of set theory
07900 need impose no restriction on the comprehension axiom
08000 for forming sets. The set terms that give trouble
08050 either are not defined or the membership relation that gives
08075 rise to contradiction is undefined. The usual proofs of
08175 contradiction simply turn into proofs that these particular
08275 terms are undefined.
08300
08400 The final application we shall mention is getting a
08500 language for the "reasoning program" required by one approach
08600 to the artificial intelligence problem. In fact, the idea that
08800 partial function logic has applications beyond the theory of
08900 computation arose in connection with an attempt to formalize
09000 knowledge of a term or a sentence and to avoid the paradoxes
00100 PROBLEMS TO SOLVE TO FINISH THIS PAPER
00200
00300 1. Correct references so as to acknowledge Bochvar and others.
00400
00500 2. Get rules of inference for partial propositional
00600 calculus complete in the sense that all valid
00700 deductions can be made.
00800
00900 3. Get definitions of true , defined , and value for
01000 expressions.
01100
01200 4. Relate the extensive and the intensive forms
01300 of defined.
01400
01500 5. What about set theory. Can we rehabilitate Frege
09100 described in (Kaplan and Montague 1960).